/*  COMP9517 Computer Vision, Semester 2, 2011 - University of New South Wales
   ============================================================================
   |   Group .  | Christian Mostegel & Dong Back Kim                          |
   ============================================================================

    PreprocessedFile class is a utility and model class used as an interface
    for the preprocessed data file. This saves or loads a preprocessed data
    file from/to a point cloud and list of cameras.

 */

#ifndef PREPROCESSEDFILE_H
#define PREPROCESSEDFILE_H

#include <qlist.h>

#include "Camera.h"
#include "PointCloud.h"

class PreprocessedFile
{

private:

    QList<Camera>   m_cameras;
    PointCloud      m_point_cloud;

public:

    inline QList<Camera>   getCameras() const      { return m_cameras; }
    inline PointCloud      getPointCloud() const   { return m_point_cloud; }

    inline void setCameras(const QList<Camera> & cameras)      { m_cameras = cameras; }
    inline void setPointCloud(const PointCloud & pointCloud)   { m_point_cloud = pointCloud; }

    void load(const QString & filename);
    void save(const QString & filename);

public:

    PreprocessedFile();

};

#endif // PREPROCESSEDFILE_H
